﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace DAL
{
    public class LoaiNhanVien_DAO
    {
        clsDocSQL m_clsDocSQL = new clsDocSQL();
        protected object Getdatarow(DataTable dt, int dong)
        {
            LoaiNhanVien_DTO tg_dto = new LoaiNhanVien_DTO();
            tg_dto.Str_MaLoaiNV = dt.Rows[dong]["MaLoaiNhanVien"].ToString();
            tg_dto.Str_TenLoaiNV = dt.Rows[dong]["TenLoaiNhanVien"].ToString();
            tg_dto.I_TrangThai = int.Parse(dt.Rows[dong]["TrangThai"].ToString());
            return (object)tg_dto;
        }
        public LoaiNhanVien_DTO[] DanhSachLoaiNhanVien()
        {
            DataTable dt = m_clsDocSQL.DocSQLStoreProcedure("sp_LayDanhSachLoaiNhanVien");
            LoaiNhanVien_DTO[] arr;
            arr = new LoaiNhanVien_DTO[dt.Rows.Count];
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                object obj = Getdatarow(dt, i);
                arr[i] = (LoaiNhanVien_DTO)obj;
            }
            return arr;
        }
        public LoaiNhanVien_DTO DanhSachLoaiNhanVien_TheoMaLoaiNhanVien(String str_MaLoaiNhanVien)
        {
            SqlParameter[] m_SqlParameter = new SqlParameter[1];
            m_SqlParameter[0] = new SqlParameter("@MaLoaiNhanVien", str_MaLoaiNhanVien);
            DataTable dt = m_clsDocSQL.DocSQLStoreProcedure1("sp_LayDanhSachLoaiNhanVien_TheoMaLoaiNhanVien", m_SqlParameter);
            LoaiNhanVien_DTO arr = new LoaiNhanVien_DTO();
            object tg = Getdatarow(dt, 0);
            arr = (LoaiNhanVien_DTO)tg;
            return arr;
        }
        public String MaLoaiNhanVienTang()
        {
            String kq = "";
            kq = m_clsDocSQL.DocKieuString("Ma_LoaiNhanVien_Tang");
            return kq.ToString();
        }
        public int ThemLoaiNhanVien(LoaiNhanVien_DTO dto)
        {
            SqlParameter[] m_SqlParameter = new SqlParameter[4];
            m_SqlParameter[0] = new SqlParameter("@MaLoaiNhanVien", dto.Str_MaLoaiNV);
            m_SqlParameter[1] = new SqlParameter("@TenLoaiNhanVien", dto.Str_TenLoaiNV);
            m_SqlParameter[2] = new SqlParameter("@TrangThai", dto.I_TrangThai);
            m_SqlParameter[3] = new SqlParameter("@KQ", 0);
            m_SqlParameter[3].Direction = ParameterDirection.Output;
            int KQ = m_clsDocSQL.Insert_Delete_Update("sp_ThemLoaiNhanVien", m_SqlParameter);
            return KQ;
        }
        public int XoaLoaiNhanVien(LoaiNhanVien_DTO dto)//
        {
            SqlParameter[] m_SqlParameter = new SqlParameter[2];
            m_SqlParameter[0] = new SqlParameter("@MaLoaiNhanVien", dto.Str_MaLoaiNV);
            m_SqlParameter[1] = new SqlParameter("@KQ", 0);
            m_SqlParameter[1].Direction = ParameterDirection.Output;
            int kq = m_clsDocSQL.Insert_Delete_Update("sp_XoaLoaiNhanVien", m_SqlParameter);
            return kq;
        }

        public int CapNhatLoaiNhanVien(LoaiNhanVien_DTO dto)
        {
            SqlParameter[] m_SqlParameter = new SqlParameter[3];
            m_SqlParameter[0] = new SqlParameter("@MaLoaiNhanVien", dto.Str_MaLoaiNV);
            m_SqlParameter[1] = new SqlParameter("@TenLoaiNhanVien", dto.Str_TenLoaiNV);
            m_SqlParameter[2] = new SqlParameter("@KQ", 0);
            m_SqlParameter[2].Direction = ParameterDirection.Output;
            int kq = m_clsDocSQL.Insert_Delete_Update("sp_CapNhatLoaiNhanVien", m_SqlParameter);
            return kq;
        }
    }
}
